package br.com.datatraffic.fiscal.entidades;
// Generated 10/07/2009 10:49:54 by Hibernate Tools 3.2.0.b9


    
import java.util.ArrayList;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

import org.hibernate.validator.constraints.Email;


/**
 * Usuario generated by hbm2java
 */
@Entity
@Table(name="TBUSUARIO")
public class Usuario5  implements java.io.Serializable {


     private Long id;
     
     private UnidadeFiscal unidadeFiscal;
     private String login;
     private String matricula;
     private String nome;
     private String cargo;
     private String email;
     private String senha;
     private List<MensagemAdHoc> mensagemAdHocs = new ArrayList<MensagemAdHoc>(0);
     private List<PermissaoOperador> permissaoOperadors = new ArrayList<PermissaoOperador>(0);
     private List<Participante> participantes = new ArrayList<Participante>(0);

    public Usuario5() {
    }
    
    public Usuario5(Long id){
    	this.id = id;
    }
    
	
    public Usuario5(Long id, UnidadeFiscal unidadeFiscal, String login, String nome, String senha) {
        this.id = id;
        this.unidadeFiscal = unidadeFiscal;
        this.login = login;
        this.nome = nome;
        this.senha = senha;
    }
    public Usuario5(Long id,  UnidadeFiscal unidadeFiscal, String login, String matricula, String nome, String cargo, String email, String senha, List<MensagemAdHoc> mensagemAdHocs, List<PermissaoOperador> permissaoOperadors, List<Participante> participantes) {
       this.id = id;
       
       this.unidadeFiscal = unidadeFiscal;
       this.login = login;
       this.matricula = matricula;
       this.nome = nome;
       this.cargo = cargo;
       this.email = email;
       this.senha = senha;
       this.mensagemAdHocs = mensagemAdHocs;
       this.permissaoOperadors = permissaoOperadors;
       this.participantes = participantes;
    }
   
     @Id 
     @SequenceGenerator(name = "SQ_TBUSUARIO", sequenceName = "SQ_TBUSUARIO", allocationSize=1)
     @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SQ_TBUSUARIO")
    @Column(name="USUARIO_ID", unique=true, nullable=false, precision=38, scale=0)
    public Long getId() {
        return this.id;
    }
    
    public void setId(Long id) {
        this.id = id;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="UNIDADE_FISCAL_ID", nullable=false)
    public UnidadeFiscal getUnidadeFiscal() {
        return this.unidadeFiscal;
    }
    
    public void setUnidadeFiscal(UnidadeFiscal unidadeFiscal) {
        this.unidadeFiscal = unidadeFiscal;
    }
    
    @Column(name="LOGIN", nullable=false, length=50)
    public String getLogin() {
        return this.login;
    }
    
    public void setLogin(String login) {
        this.login = login;
    }
    
    @Column(name="MATRICULA", length=100)
    public String getMatricula() {
        return this.matricula;
    }
    
    public void setMatricula(String matricula) {
        this.matricula = matricula;
    }
    
    @Column(name="NOME", nullable=false, length=100)
    public String getNome() {
        return this.nome;
    }
    
    public void setNome(String nome) {
        this.nome = nome;
    }
    
    @Column(name="CARGO", length=50)
    public String getCargo() {
        return this.cargo;
    }
    
    public void setCargo(String cargo) {
        this.cargo = cargo;
    }
    
    @Email
    @Column(name="EMAIL", length=100)
    public String getEmail() {
        return this.email;
    }
    
    public void setEmail(String email) {
        this.email = email;
    }
    
    @Column(name="SENHA", nullable=false, length=100)
    public String getSenha() {
        return this.senha;
    }
    
    public void setSenha(String senha) {
        this.senha = senha;
    }
@OneToMany(     fetch=FetchType.LAZY, mappedBy="usuario")
    public List<MensagemAdHoc> getMensagemAdHocs() {
        return this.mensagemAdHocs;
    }
    
    public void setMensagemAdHocs(List<MensagemAdHoc> mensagemAdHocs) {
        this.mensagemAdHocs = mensagemAdHocs;
    }

    @OneToMany(fetch=FetchType.LAZY, mappedBy="usuario")
    public List<PermissaoOperador> getPermissaoOperadors() {
        return this.permissaoOperadors;
    }

    public void setPermissaoOperadors(List<PermissaoOperador> permissaoOperadors) {
        this.permissaoOperadors = permissaoOperadors;
    }
    @OneToMany(fetch=FetchType.LAZY, mappedBy="usuario")
    public List<Participante> getParticipantes() {
        return this.participantes;
    }

    public void setParticipantes(List<Participante> participantes) {
        this.participantes = participantes;
    }


  // The following is extra code specified in the hbm.xml files
    private static final long serialVersionUID = 1L;
  // end of extra code specified in the hbm.xml files

}


